home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / lcppb.zip / LCPPLIB.ZIP / LIST.H < prev    next >
C/C++ Source or Header  |  1991-07-04  |  1KB  |  50 lines

  1. // list.h -- Header for list.cpp
  2.  
  3. #ifndef __LIST_H
  4. #define __LIST_H     1     // Prevent multiple #includes
  5.  
  6. #include <stdlib.h>
  7. #include "item.h"
  8.  
  9. class list: public item {
  10.   private:
  11.     item *anchor;        // Anchors list head
  12.     item *cip;           // "Current item pointer"
  13.  
  14.   public:
  15.  
  16.   // -- Constructor and destructor
  17.     list();
  18.     virtual ~list();
  19.  
  20.   // -- Inline member functions
  21.     int listEmpty(void) 
  22.         { return (anchor == NULL); }
  23.     int atHeadOfList(void)
  24.         { return ((anchor != NULL) && (cip == anchor)); }
  25.     int atEndOfList(void)
  26.         { return ((anchor != NULL) && (cip == anchor->left)); }
  27.     item *currentItem(void)
  28.         { return cip; }
  29.     item *firstItem(void)
  30.         { return (cip = anchor); }
  31.     void resetList(void)
  32.         { cip = anchor; }
  33.     void setCurrentItem(item *ip)
  34.         { cip = ip; }
  35.  
  36.   // -- Other member functions
  37.     item *insertItem(item *ip);
  38.     item *removeItem(item *ip);
  39.     item *prevItem(void);
  40.     item *nextItem(void);
  41.  
  42.   // Virtual member function
  43.     virtual void disposeList(void);
  44. };
  45.  
  46. #endif   // __LIST_H
  47.  
  48. // Copyright (c) 1990 by Tom Swan. All rights reserved
  49. // Revision 1.00    Date: 09/03/1990   Time: 09:56 am
  50.